package vista;
import java.awt.Dialog.ModalityType;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.ArrayList;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JDialog;
import javax.swing.JOptionPane;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextArea;
import javax.swing.JTextField;

import javax.swing.SwingUtilities;

import util.Utilidades;

import modelo.Ciudad;
import modelo.Equipo;
import modelo.Estado;
import modelo.Marca;
import modelo.Modelo;
import modelo.Status;
import modelo.Sucursal;
import modelo.dao.Servidor;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class DlgEquipo extends javax.swing.JDialog {
	private JComboBox cbMarca;
	private JLabel lblMarca;
	private JTextField txtDescripcion;
	private JLabel lblEquipo;
	private JComboBox cbModelo;
	private JButton btAceptar;
	private JButton btSalir;
	private JLabel lblModelo;
	private JLabel lblComentarios;
	private JTextArea txtaComentarios;
	private JTextField txtCodModelo;
	private ComboBoxModel cbmMarcas;
	private ComboBoxModel cbmModelos;

	{
		//Set Look & Feel
		try {
			javax.swing.UIManager.setLookAndFeel("com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel");
		} catch(Exception e) {
			e.printStackTrace();
		}
	}


	/**
	* Auto-generated main method to display this JDialog
	*/
	/*public static void main(String[] args) {
		SwingUtilities.invokeLater(new Runnable() {
			public void run() {
				JFrame frame = new JFrame();
				DlgEquipo inst = new DlgEquipo(frame);
				inst.setVisible(true);
			}
		});
	}*/
	
	public DlgEquipo(JDialog dialog) {
		super(dialog);
		initGUI();
	}
	
	private void initGUI() {
		try {
			{
				getContentPane().setLayout(null);
				this.setTitle("Equipo");
				{
					final ArrayList<Marca> marcas=Servidor.equipos().consultarMarcas();
					cbmMarcas = new DefaultComboBoxModel(marcas.toArray());
					
					cbMarca = new JComboBox();
					getContentPane().add(cbMarca);
					cbMarca.setModel(cbmMarcas);
					cbMarca.setBounds(93, 66, 125, 28);
				}
				{
					lblMarca = new JLabel();
					getContentPane().add(lblMarca);
					lblMarca.setText("Marca:");
					lblMarca.setFont(new java.awt.Font("Tahoma",1,11));
					lblMarca.setBounds(33, 73, 54, 14);
				}
				{
					txtDescripcion = new JTextField();
					getContentPane().add(txtDescripcion);
					txtDescripcion.setBounds(124, 25, 196, 28);
				}
				{
					lblEquipo = new JLabel();
					getContentPane().add(lblEquipo);
					lblEquipo.setText("Descripcion:");
					lblEquipo.setFont(new java.awt.Font("Tahoma",1,11));
					lblEquipo.setBounds(33, 32, 93, 14);
				}
				{
					Marca mar=(Marca)cbMarca.getSelectedItem();
					ArrayList<Modelo> modelos = Servidor.equipos().consultarModelosPorMarca(mar.getCodigo());
					cbmModelos = new DefaultComboBoxModel(modelos.toArray());
					
					cbModelo = new JComboBox();
					getContentPane().add(cbModelo);
					cbModelo.setModel(cbmModelos);
					cbModelo.setBounds(218, 105, 281, 28);
				}
				{
					lblModelo = new JLabel();
					getContentPane().add(lblModelo);
					lblModelo.setText("Modelo:");
					lblModelo.setFont(new java.awt.Font("Tahoma",1,11));
					lblModelo.setBounds(33, 113, 60, 14);
				}
				{
					btSalir = new JButton();
					getContentPane().add(btSalir);
					btSalir.setText("Salir");
					btSalir.setIcon(new ImageIcon(getClass().getClassLoader().getResource("iconos/Salir.gif")));
					btSalir.setVerticalTextPosition(JButton.BOTTOM);
					btSalir.setHorizontalTextPosition(JButton.CENTER);
					btSalir.setBounds(409, 314, 79, 40);
					
				}
				{
					btAceptar = new JButton();
					getContentPane().add(btAceptar);
					btAceptar.setText("Aceptar");
					btAceptar.setIcon(new ImageIcon(getClass().getClassLoader().getResource("iconos/Aceptar.png")));
					btAceptar.setVerticalTextPosition(JButton.BOTTOM);
					btAceptar.setHorizontalTextPosition(JButton.CENTER);
					btAceptar.setBounds(311, 314, 79, 40);
					
				}
				{
					txtCodModelo = new JTextField();
					getContentPane().add(txtCodModelo);
					txtCodModelo.setBounds(93, 106, 108, 28);
					txtCodModelo.setEnabled(false);
				}
				{
					lblComentarios = new JLabel();
					getContentPane().add(lblComentarios);
					lblComentarios.setText("Comentarios:");
					lblComentarios.setFont(new java.awt.Font("Tahoma",1,11));
					lblComentarios.setBounds(33, 168, 98, 14);
				}
				{
					txtaComentarios = new JTextArea();
					getContentPane().add(txtaComentarios);
					txtaComentarios.setBounds(45, 188, 430, 79);
				}
			}
			this.setSize(523, 418);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	DlgEquipo dequ=this;
	public void mostrar(JDialog dialog, final Sucursal sucursal) {
		
		setLocationRelativeTo(null);
		darFormatos();
		Modelo mod=(Modelo)cbModelo.getSelectedItem();
		txtCodModelo.setText(mod.getCodigo());
		
		btAceptar.addActionListener(new ActionListener() {
			@Override
			public void actionPerformed(ActionEvent arg0) {
				if(!(Utilidades.campoVacio(dequ, txtDescripcion, "Descripcion")))
				{   
					Modelo mod=(Modelo)cbModelo.getSelectedItem();
					Equipo equip=Servidor.equipos().agregarEquipo(txtDescripcion.getText(), txtaComentarios.getText(), mod, sucursal, Status.ACTIVO);
					if(equip!=null)
					{	JOptionPane.showMessageDialog(dequ, "Registro incluido exitosamente","Inclusion",JOptionPane.INFORMATION_MESSAGE);
						dequ.dispose();
					}
					else
						JOptionPane.showMessageDialog(dequ, "EL registro no pudo ser incluido","Inclusion",JOptionPane.ERROR_MESSAGE);
				}
			}
		});
		
		cbMarca.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				Marca mar=(Marca)cbMarca.getSelectedItem();
				ArrayList<Modelo> modelos = Servidor.equipos().consultarModelosPorMarca(mar.getCodigo());
				cbmModelos = new DefaultComboBoxModel(modelos.toArray());
				cbModelo.setModel(cbmModelos);
				
			}});
		
		cbModelo.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent arg0) {
				Modelo mod=(Modelo)cbModelo.getSelectedItem();
				txtCodModelo.setText(mod.getCodigo());
			}});
		
		btSalir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				dequ.dispose();
			}
		});
		

		this.setModalityType(ModalityType.APPLICATION_MODAL);
		setVisible(true);
		
	}
	
	public void darFormatos(){ 
		
		Utilidades.convertirMayuscula(txtDescripcion);
		Utilidades.convertirMayuscula(txtaComentarios);
		
		
	}

}
